package com.hospital.hl7package.module.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author lvyao
 * @since 2020-09-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("OPERATION_MASTER")
public class OperationMaster implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField("PATIENT_ID")
    private String patientId;

    @TableField("VISIT_ID")
    private Integer visitId;

    @TableField("OPER_ID")
    private Integer operId;

    @TableField("DEPT_STAYED")
    private String deptStayed;

    @TableField("OPERATING_ROOM")
    private String operatingRoom;

    @TableField("OPERATING_ROOM_NO")
    private String operatingRoomNo;

    @TableField("DIAG_BEFORE_OPERATION")
    private String diagBeforeOperation;

    @TableField("PATIENT_CONDITION")
    private String patientCondition;

    @TableField("OPERATION_SCALE")
    private String operationScale;

    @TableField("DIAG_AFTER_OPERATION")
    private String diagAfterOperation;

    @TableField("EMERGENCY_INDICATOR")
    private Integer emergencyIndicator;

    @TableField("ISOLATION_INDICATOR")
    private Integer isolationIndicator;

    @TableField("OPERATION_CLASS")
    private String operationClass;

    @TableField("OPERATING_DEPT")
    private String operatingDept;

    @TableField("SURGEON")
    private String surgeon;

    @TableField("FIRST_ASSISTANT")
    private String firstAssistant;

    @TableField("SECOND_ASSISTANT")
    private String secondAssistant;

    @TableField("THIRD_ASSISTANT")
    private String thirdAssistant;

    @TableField("FOURTH_ASSISTANT")
    private String fourthAssistant;

    @TableField("ANESTHESIA_METHOD")
    private String anesthesiaMethod;

    @TableField("ANESTHESIA_DOCTOR")
    private String anesthesiaDoctor;

    @TableField("ANESTHESIA_ASSISTANT")
    private String anesthesiaAssistant;

    @TableField("BLOOD_TRAN_DOCTOR")
    private String bloodTranDoctor;

    @TableField("FIRST_OPERATION_NURSE")
    private String firstOperationNurse;

    @TableField("SECOND_OPERATION_NURSE")
    private String secondOperationNurse;

    @TableField("FIRST_SUPPLY_NURSE")
    private String firstSupplyNurse;

    @TableField("SECOND_SUPPLY_NURSE")
    private String secondSupplyNurse;

    @TableField("NURSE_SHIFT_INDICATOR")
    private Integer nurseShiftIndicator;

    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("START_DATE_TIME")
    private Date startDateTime;

    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("END_DATE_TIME")
    private Date endDateTime;

    @TableField("SATISFACTION_DEGREE")
    private Integer satisfactionDegree;

    @TableField("SMOOTH_INDICATOR")
    private Integer smoothIndicator;

    @TableField("IN_FLUIDS_AMOUNT")
    private Integer inFluidsAmount;

    @TableField("OUT_FLUIDS_AMOUNT")
    private Integer outFluidsAmount;

    @TableField("BLOOD_LOSSED")
    private Integer bloodLossed;

    @TableField("BLOOD_TRANSFERED")
    private Integer bloodTransfered;

    @TableField("ENTERED_BY")
    private String enteredBy;

    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("RETURN_DATE_TIME")
    private Date returnDateTime;

    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("ARRIVE_DATE_TIME")
    private Date arriveDateTime;

    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("ENTER_DATE")
    private Date enterDate;

    @TableField("DOCUMENT_URL")
    private String documentUrl;

}
